package contract

import (
	"app/internal/service/input"
	"context"
)

var (
	demoService IDemoService
)

func DemoService() IDemoService {
	if demoService == nil {
		panic("implement not found for interface IDemoService, forgot register?")
	}
	return demoService
}

func RegisterDemoService(i IDemoService) {
	demoService = i
}

type (
	IDemoService interface {
		Show(ctx context.Context, input *input.DemoInput) (output *input.DemoOutput, err error)
	}
)
